package com.apex.flink.utils;

public class ConfigKeyName {
    // runtime environment
    public final static String TIME_CHARACTERISTIC = "job.setting.env.time-characteristic";
    public final static String BUFFER_TIMEOUT_MILLIS = "job.setting.env.buffer.timeout";
    public final static String PARALLELISM = "job.setting.env.parallelism";
    public final static String MAX_PARALLELISM = "job.setting.env.max-parallelism";
    public final static String CHECKPOINT_INTERVAL = "job.setting.env.checkpoint.interval";
    public final static String CHECKPOINT_MODE = "job.setting.env.checkpoint.mode";
    public final static String CHECKPOINT_TIMEOUT = "job.setting.env.checkpoint.timeout";
    public final static String CHECKPOINT_DATA_URI = "job.setting.env.checkpoint.data-uri";
    public final static String MAX_CONCURRENT_CHECKPOINTS = "job.setting.env.max-concurrent-checkpoints";
    public final static String CHECKPOINT_CLEANUP_MODE = "job.setting.env.checkpoint.cleanup-mode";
    public final static String MIN_PAUSE_BETWEEN_CHECKPOINTS = "job.setting.env.checkpoint.min-pause";
    public final static String FAIL_ON_CHECKPOINTING_ERRORS = "job.setting.env.checkpoint.fail-on-error";
    public final static String RESTART_STRATEGY = "job.setting.env.restart.strategy";
    public final static String RESTART_ATTEMPTS = "job.setting.env.restart.attempts";
    public final static String RESTART_DELAY_BETWEEN_ATTEMPTS = "job.setting.env.restart.delayBetweenAttempts";
    public final static String RESTART_FAILURE_INTERVAL = "job.setting.env.restart.failureInterval";
    public final static String RESTART_FAILURE_RATE = "job.setting.env.restart.failureRate";
    public final static String RESTART_DELAY_INTERVAL = "job.setting.env.restart.delayInterval";
    public final static String MAX_STATE_RETENTION_TIME = "job.setting.env.query.state.max-retention";
    public final static String MIN_STATE_RETENTION_TIME = "job.setting.env.query.state.min-retention";
    public final static String STATE_BACKEND = "job.setting.env.state.backend";
    public final static String HIVE_CONF_DIR = "job.setting.env.hiveConf";
    public final static String HIVE_DATABASE = "job.setting.env.hivedb";
    //job name
    public final static String JOB_NAME = "job.setting.name";
    public final static String JOB_ENGINE = "job.setting.engine";
    public final static String JOB_ENGINE_RUN_MODE = "job.setting.isStreaming";
    //
    public final static String JOB_SOURCE_PLUGIN_NAME = "job.source.plugin.name";
    public final static String JOB_TRANSFORM_PLUGIN_NAME = "job.transform.plugin.name";
    public final static String JOB_SINK_PLUGIN_NAME = "job.sink.plugin.name";
    //plugin source
    public final static String READ_FILE_PATH = "job.source.plugin.file.path";
    public final static String FILE_SPLIT = "job.source.plugin.file.split";
    public final static String FILE_SOURCE_FILE_TYPE = "job.source.plugin.file.type";
    public final static String FILE_SOURCE_JDBC_DRIVER = "job.source.plugin.env.driver";
    public final static String FILE_SOURCE_JDBC_URL = "job.source.plugin.env.url";
    public final static String FILE_SOURCE_JDBC_USERNAME = "job.source.plugin.env.username";
    public final static String FILE_SOURCE_JDBC_PASSWORD = "job.source.plugin.env.password";
    public final static String FILE_SOURCE_JDBC_QUERY = "job.source.plugin.env.query";
    public final static String FLINK_SOURCE_KUDU_MASTER = "job.source.plugin.env.kuduMaster";
    public final static String FLINK_SOURCE_KUDU_TABLE_NAME = "job.source.plugin.env.kuduTableName";
    //stream
    public final static String SOURCE_KAFKA_TABLE_NAME = "job.source.plugin.kafka.table";
    public final static String SOURCE_KAFKA_CLUSTER_INFO = "job.source.plugin.kafka.bootstrapServers";
    public final static String SOURCE_KAFKA_OFFSET_RESET = "job.source.plugin.kafka.offsetReset";
    public final static String SOURCE_KAFKA_ROW_TIME_FIELD = "job.source.plugin.kafka.rowTimeField";
    public final static String SOURCE_KAFKA_WATERMARK = "job.source.plugin.kafka.waterMark";
    public final static String SOURCE_KAFKA_SCHEMA_INFO = "job.source.plugin.kafka.table.schema";
    public final static String SOURCE_KAFKA_MESSAGE_FORMAT = "job.source.plugin.kafka.message";
    public final static String SOURCE_KAFKA_GROUPID = "job.source.plugin.kafka.groupId";
    public final static String SOURCE_KAFKA_TOPICS = "job.source.plugin.kafka.topics";
    public final static String SOURCE_KAFKA_ENABLE_KERBEROS = "job.source.plugin.kafka.enableKerberos";
    public final static String SOURCE_KAFKA_KRB5CONF = "job.source.plugin.kafka.saslKerberosName";
    public final static String SOURCE_KAFKA_JAAS = "job.source.plugin.kafka.saslKerberosName";

    // plugin transform
    public final static String FLINK_RUN_SQL = "job.transform.sql.result";
    public final static String FLINK_RUN_SQLFilePath = "job.transform.sql.scriptFile";
    public final static String FLINK_RUN_WORKSPACE = "job.transform.sql.workSpace";
    public final static String FLINK_TABLE_SCHEMA = "job.transform.schema";
    //sink
    public final static String FILE_SINK_PATH = "job.sink.plugin.file.path";
    public final static String FILE_SINK_TYPE = "job.sink.plugin.file.type";
    public final static String FILE_SINK_MODE = "job.sink.plugin.file.writeMode";
    public final static String SINK_KUDU_MASTER = "job.sink.plugin.env.kuduMaster";
    public final static String SINK_KUDU_TABLE_NAME = "job.sink.plugin.env.kuduTableName";
    public final static String SINK_KUDU_TABLE_BUCKET = "job.sink.plugin.env.tableBucket";
    public final static String SINK_KUDU_TABLE_REPLICAS = "job.sink.plugin.env.tableReplicas";
    public final static String SINK_KUDU_TABLE_PRIMARYKEY = "job.sink.plugin.env.primaryKey";
    public final static String SINK_KUDU_TABLE_HASHKEY = "job.sink.plugin.env.hashKey";
    public final static String SINK_REDIS_HOSTS = "job.sink.plugin.env.redisHosts";
    public final static String SINK_REDIS_TYPE = "job.sink.plugin.env.redisType";
    //hive
    public final static String FILE_SINK_HIVE_CONFDIR = "job.sink.plugin.env.hiveConf";
    public final static String FILE_SINK_HIVE_DATABASE = "job.sink.plugin.env.hiveDataBase";
    public final static String FILE_SINK_FLINK_HIVE_TEMP_NAME = "job.sink.plugin.env.hiveFlinkTableName";
    public final static String FILE_SINK_FLINK_HIVE_WRITER_SQL = "job.sink.plugin.env.hiveWriterSql";

}
